const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    // 地域
    address: {
      "province": "河南省",
      "city": "郑州市"
    },
    // 默认
    defaultAddress: ["北京市", "北京市"],
    // 擅长
    // 数组替换索引
    cleverid: 0,
    cleverIndex: [0, null, null],
    cleverData: [
      "全部", "个人成长", "恋爱关系", "婚姻家庭",
      "亲子教育", "职场心理", "两性心理", "抑郁梳理",
      "情绪管理", "人际关系", "心理健康", "婆媳矛盾"
    ],
    // 咨询师等级
    levelIndex: 0,
    consultlevelData: [],
    // 咨询师性别
    sexIndex: 0,
    sexData: ["不限", "男", "女"],
    // 咨询方式
    chargetypeIndex: 0,
    chargetypeData: [],
    text: ""
  },
  // 地址改变
  addressChange: function (e) {
    this.setData({
      address: {
        "province": e.detail.value[0],
        "city": e.detail.value[1]
      }
    })
  },
  // 擅长改变
  cleverChange: function (e) {
    let ei = e.target.dataset.clever
    // console.log('擅长：' + ei)
    // 判断是否已选中
    let is = this.data.cleverIndex.indexOf(ei) >= 0;
    console.log(is)
    // 数组索引
    let index = null;
    // 已选全部点其他将全部置空
    if (this.data.cleverIndex[0] == 0) {
      this.data.cleverIndex[0] = null;
    }
    // 第no个为空
    let no = this.data.cleverIndex.indexOf(null);
    // 若数组有空则放入
    if (no != -1) {
      index = no;
      // 若数组无空则先入先出
    } else {
      // 最大限制
      if (this.data.cleverid > this.data.cleverIndex.length - 1) {
        this.data.cleverid = 0;
      }
      index = this.data.cleverid;
      this.data.cleverid += 1;
    }
    // 选择其他参数设置
    var clevers = "cleverIndex[" + index + "]";
    var param = ei;
    // 选择全部
    if (ei == 0) {
      this.setData({
        cleverIndex: [0, null, null],
        cleverid: 0
      })
      // 选择其他
    } else {
      this.setData({
        [clevers]: param
      })
    }
    console.log(this.data.cleverIndex)
  },

  // 咨询师性别或咨询方式改变
  sexOrchargetypeChange: function (e) {
    if (e.target.dataset.sex != null) {
      // console.log('咨询师性别：', e.target.dataset.sex)
      var key = 'sexIndex'
      var param = e.target.dataset.sex
    } else {
      // console.log('咨询方式：', e.target.dataset.chargetype)
      var key = 'chargetypeIndex'
      var param = e.target.dataset.chargetype
    }
    this.setData({
      [key]: param
    })
  },

  // 咨询师等级改变
  levelChange: function (e) {
    // console.log('咨询师等级：', e.detail.value)
    this.setData({
      levelIndex: e.detail.value
    })
  },

  confirm() {
    // 判断擅长
    let clever = [];
    let index = this.data.cleverIndex
    if (index[0] != 0) {
      let data = this.data.cleverData
      index.forEach(i => {
        if (i != null) {
          clever.push(data[i])
        }
      });
    } else {
      clever = null
    }
    let sex = "";
    if (this.data.sexIndex != 0) {
      sex = this.data.sexData[this.data.sexIndex];
    }
    let chargetype = "";
    if (this.data.chargetypeIndex != 0) {
      chargetype = this.data.chargetypeIndex;
    }
    // 封装参数
    let list = {
      "address": this.data.address,
      "clever": clever,
      "level": parseInt(this.data.levelIndex) + 1,
      "sex": sex,
      "chargetype": chargetype
    }
    // console.log(list)
    // 序列化参数
    let parse = JSON.stringify(list)
    wx.navigateTo({
      url: '/pages/consult/filterOut/filterOut?' +
        'parse=' + parse
    })
  },

  // 后端数据获取
  getData() {
    this.getConsultlevelData();
    this.getChargetypeData();
  },
  getConsultlevelData() {
    let that = this;
    wx.request({
      url: app.globalData.url + 'consultlevel/find',
      success(res) {
        // console.log(res.data.data.list)
        let arr = [];
        res.data.data.list.forEach(item => {
          arr.push(item.name);
        });
        that.setData({
          consultlevelData: arr
        })
      },
    })
  },
  getChargetypeData() {
    let that = this;
    wx.request({
      url: app.globalData.url + 'chargetype/find',
      success(res) {
        // console.log(res.data.data.list)
        let arr = ["全部方式"];
        res.data.data.list.forEach(item => {
          arr.push(item.name);
        });
        that.setData({
          chargetypeData: arr
        })
      },
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getData();
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})